package com.atguigu.day02;

import java.util.concurrent.CountDownLatch;

/**
 * @author mqx
 * @date 2021-4-6 11:17:24
 */
public class CountDownLatchDemo01 {

    //  主方法
    public static void main(String[] args) throws InterruptedException {
        //  直到 6 个人全部离开教室之后，班长锁门！
        CountDownLatch countDownLatch = new CountDownLatch(6);
        //  对应的减一
        //  countDownLatch.countDown();
        //  等待
        //  countDownLatch.await();

        //  循环
        for (int i = 1; i <=6 ; i++) {
            new Thread(()->{
                System.out.println(Thread.currentThread().getName()+"\t 号同学离开教室");
                //  减少数据
                countDownLatch.countDown();
            },String.valueOf(i)).start();
        }

        //  如果初始化值不为0的话，那么应该等待
        countDownLatch.await();
        //  如果全部都走了！ 班长关门！
        System.out.println(Thread.currentThread().getName()+"\t****** 班长关门走人，main线程是班长");






    }
}
